The present invention relates to a method and apparatus for transcoding digital video data, for example, at the headend of a cable or satellite television network.
The transmission of digital video data via broadband communication systems such as cable television or satellite television networks has become increasingly popular. Digital decoders, e.g. set-top boxes, are provided in consumers"" homes for use in receiving the digital video signals and processing the signals in a format that is suitable for display on a television, video display terminal, or the like.
In general, source video sequences can be of any format, e.g., in terms of spatial resolution, frame rate, frame size, color sampling format, interlaced or progressive scan format, bit rate, resolution (e.g., high-definition or standard definition), or amount and type of noise filtering. Additionally, the source video sequences can be pre-encoded at any rate, and with a constant bit rate (CBR) or variable bit rate (VBR).
For many applications, however, the pre-compressed bitstreams must correspond with only specific allowable, or otherwise desirable, video formats and rates. Accordingly, it is often necessary to change the format or other characteristics of the video data prior to communicating it to a set-top box and/or some intermediate point in a network.
For example, the data may be originally obtained via a storage medium or transmission point in a format that is not compatible with, or optimally suitable for, the set-top box, headend equipment, channel capacity, or other system limitation or property.
In the past, the required format conversion was achieved by decompressing the pre-compressed data to the pixel domain, performing the required format or bit rate conversion, then re-compressing the data, including motion compensation and motion estimation processing for inter-frame coded data, for transmission. However, this approach is undesirable due to the extensive computational requirements, in particular, due to motion estimation. Additionally, the different required format conversions are not provided in an integrated package.
An article by N. Bjxc3x6rk et al., entitled xe2x80x9cTranscoder Architectures for Video Codingxe2x80x9d, IEEE Transactions on Consumer Electronics, Vol. 44, No. Feb. 1, 1998, discusses the possibility of using a downsampling filter for resolution reduction transcoding with H.263 data for low bit rate communications. However, the article does not discuss a generic multi-functional transcoder that allows the selection of one or more of a variety of format-modifying processes.
Accordingly, it would be desirable to provide a generic, integrated transcoder architecture which is able to convert a pre-compressed digital video bit stream into another bit stream at a specific bit rate and format. The system should be compatible with MPEG-2 and other digital video standards. The system should provide the capability for modification of spatial resolution, frame rate, frame size, color sampling format, interlaced or progressive scan format, bit rate, resolution, and/or amount and type of noise filtering, in an integrated transcoder architecture.
The system should allow the selection of one or more of several available processing functions according to a user selection signal or an automatically generated selection signal, e.g., that is responsive to detected characteristics of the received pre-compressed bit stream, or some other criteria, including a default setting.
The system should allow the control of several transcoders to convert several bit streams with different formats into corresponding bit streams with a common format.
The system should provide re-use of motion vectors obtained from decoding for re-encoding, with optional motion estimation refinement during re-encoding as required.
The system should avoid the complexity introduced by motion estimation in a transcoder.
The present invention provides a system having the above and other advantages.
The present invention relates to a method and apparatus for transcoding digital video data, for example, at the headend of a cable or satellite television network.
A method for transcoding compressed digital video data includes the step of partially decompressing first compressed digital video data to provide first intermediate reconstructed data having an associated first format. The format may include one or more of the following characteristics: frame size, frame rate, color space sampling format (i.e., sampling ratio), interlaced or progressive scan, resolution (e.g., high-definition or standard definition), and noise filtering status (e.g., whether the data is noise filtered or not, and if so, the amount and type of noise filtering).
A post-pre-processing engine is provided that has a plurality of different available processing functions for achieving any of the above format changes. The term xe2x80x9cpost-pre-processingxe2x80x9d indicates that processing occurs after decoding, but before re-encoding in the transcoder.
A first selection signal is provided for selecting at least one of the processing functions. The selection signal may be provided by a user, or automatically generated, for example, by reading the first compressed digital video data and determining its format. The detected format may then be compared to a desired format, e.g., based on data stored in a memory, to determine if a change is required.
The first intermediate reconstructed data is processed according to the selected processing function to provide corresponding first modified intermediate reconstructed data having a first modified format that is different than the first format. The first modified intermediate reconstructed data is then compressed to provide first modified compressed digital video data with the first modified format.
For example, the post-pre-processing engine may be provided at the headend of a cable or satellite television network, in which case the first modified compressed digital video data is transmitted to a decoder population via optical fiber, co-axial cable, and/or a satellite link.
The first compressed digital video data may also be processed to change its bit rate according to a second selection signal. For example, a relatively high bit rate may be used for premium television programming, while the bit rate is reduced for standard programming services. The bit rate may also be changed from variable to fixed, or from fixed to variable.
One of the available processing functions may process the first intermediate reconstructed data with a noise-reduction/deblocking filter, such as a fixed or adaptive filter. The noise filtering condition of the data is considered to be a component of the data""s format. Thus, data that is not noise filtered has one format, while the same data after noise filtering has another format. The first intermediate reconstructed data may be delayed to provide noise-reduction filtering of a current image region using a future image region.
For example, the current image region and the future image region may be in different video frames, or in a common video frame, where the future image region follows the current image region according to a display scan sequence of the first intermediate reconstructed data.
The current image region and the future image region may be provided as respective macroblocks.
One of the available processing functions may provide the first modified intermediate reconstructed data with a different resolution (e.g., standard definition vs. high-definition) than that of the first intermediate reconstructed data.
One of the available processing functions may either (a) provide the first modified intermediate reconstructed data with an interlaced scan format when the first intermediate reconstructed data has a progressive scan format, or (b) provide the first modified intermediate reconstructed data with a progressive scan format when the first intermediate reconstructed data has an interlaced scan format.
One of the available processing functions may provide the first modified intermediate reconstructed data with a color space sampling format that is different than that of the first intermediate reconstructed data.
One of the plurality of different available processing functions may provide the first modified intermediate reconstructed data with a frame size or rate that is different than that of the first intermediate reconstructed data.
Additionally, several transcoders with post-pre-processing engines may be provided for converting different bit streams with different formats to a common format, e.g., prior to transmission to a decoder population.
The method may include the further steps of: obtaining motion vector data from the first intermediate reconstructed data, e.g., at the decoder of a transcoder, and providing the motion vector data for use in compressing the first modified intermediate reconstructed data, e.g., at the encoder of the transcoder. The motion vector data may be refined as required for use in the compressing step. With this technique, the transcoder avoids the need to re-generate motion vectors from scratch in the encoder of a transcoder, thereby significant reducing memory and computational requirements.
A corresponding apparatus is presented.